package com.yanqu.road.dataHelper.action;

import com.yanqu.road.dataHelper.action.excel.AcRecharge;
import com.yanqu.road.dataHelper.gameServer.GameServer;
import com.yanqu.road.dataHelper.manager.DataMgr;
import com.yanqu.road.dataHelper.manager.ServerMgr;
import com.yanqu.road.entity.servercenter.ServerInfo;
import com.yanqu.road.utils.string.StringUtils;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;


//活动期间买的东西
public class AcRechargeExcel extends actionBase{

    public void go(List<Long> serverList){
        ExecutorService executorService = Executors.newFixedThreadPool(5);
        List<Future> futureList = new ArrayList<>();
        String activityIdStr = "9018790,9018791,9018792,9018793,9018794,9018795,9018796,9018797,9018798,9018799,9018800,9018801,9018802";
//        activityIdStr = "9888885";
        List<Integer> activityIdList = StringUtils.stringToIntegerList(activityIdStr,",");
        for(int activityId : activityIdList){
            for(Long serverId : serverList){
                if(ServerMgr.getServerInfoList().containsKey(serverId)){
                    ServerInfo serverInfo = ServerMgr.getServerInfoList().get(serverId);
                    Future future = executorService.submit(new Callable<Boolean>() {
                        @Override
                        public Boolean call() throws Exception {
                            GameServer testGameServer = new GameServer(serverInfo);
                            AcRecharge acRecharge = new AcRecharge(testGameServer);
                            acRecharge.go(activityId);
                            return true;
                        }
                    });
                    futureList.add(future);
                }
            }
            isResult(futureList);
//            DataMgr.makeExcelData2Txt("");
//            DataMgr.outText("活动充值购买"+activityId);
        }
        DataMgr.makeExcelData2Txt("");
        DataMgr.outText("活动充值购买");
    }
}
